The present invention relates generally to bus controllers, and more particularly to a single integrated circuit chip for controlling and terminating a bus. A computer bus is generally a set of parallel conductors connecting two or more electrical devices for the purpose of data transfer. One popular bus is the SCSI bus. The SCSI bus is an interface designed for computers and electronic instrumentation to allow communication of data over short distances. The SCSI bus is designed to connect independent devices such as disk drives, tape drives, file servers, video monitors, printers, scanners, and other computers. Several SCSI versions have been developed and standardized, with newer versions being developed to keep pace with changing computer speeds and requirements. One of the newer standards is low voltage differential (LVD) SCSI, an improved version of differential SCSI. Differential voltage signals (typically of 400 millivolts difference) are used in LVD SCSI, allowing for higher data transfer rates and longer distances than the older single-ended SCSI standard. In LVD SCSI, each differential data line of the SCSI bus is comprised of two separate bus lines. A binary one is transmitted when the first bus line is more positive than the second bus line, and a binary zero is transmitted when the second bus line is more positive than the first bus line.
SCSI devices are usually connected from one device to another in a daisy chain arrangement. This configuration gives rise to a transmission delay problem where the ends of the bus, not having the same characteristic impedance as the bus itself, will reflect a portion of the signal. This reflection will cause longer transmission times as the bus attempts to receive the data signal over the reflected signal. To lessen this reflection problem, the common practice is to terminate each end of the physical SCSI bus with a termination circuit or terminator that attempts to match the characteristic impedance of the SCSI cable. The terminators used in LVD SCSI commonly provide a fixed biasing voltage across the two bus lines to keep the receivers from being driven by noise in the absence of any differential signals.
Unfortunately, due to the fixed biasing voltage the prior art LVD terminators had several drawbacks. One such drawback was that variations in components used to implement the LVD terminators caused the LVD terminators to impress biasing voltages of slightly different magnitudes upon the ends of the differential data lines. This mismatch in biasing voltages generated loop currents through the differential data lines during idle periods on the SCSI bus. These loop currents if severe enough caused differential voltages on the differential data line that receivers misinterpreted as data. Accordingly, prior art LVD terminators were manufactured such that the LVD terminators had highly matched components that provided the ends of the differential data lines with highly matched biasing voltages in order to reduce loop currents. This matching of components in the prior art LVD required costly manufacturing processes such as laser trimming of thin film resistors.
As a result of this costly processing, the prior art LVD terminators could not be integrated into a bus controller circuit without substantial costs. Since, each LVD SCSI device has a bus controller circuit which controls the transfer of data on the SCSI bus, integrating a LVD terminator into the bus controller circuit would provide each device with termination capabilities. Even though only the ends of the SCSI bus need to be terminated, if each SCSI device has termination capabilities, then the SCSI bus can be easily reconfigured for proper termination after a SCSI device has been added to or removed from an end of the SCSI bus. For example, a user may simply activate switches on the SCSI devices which enable or disable the terminators accordingly. Alternatively, each SCSI device may contain circuitry that determines whether the SCSI device is at an end of the SCSI bus and automatically enables or disables the terminators accordingly.
Therefore, what is needed is a cost effective method and apparatus for integrating termination into a bus controller circuit in order to provide each SCSI device with termination capabilities.